1. yml 配置文件的编写
# 1. api版本信息 apiVersion: v1 # 2. 表示资源类型 kind: Namespace # 3. 应用元信息 metadata: name: k8s-example # 名字 labels: app: k8s-example name: k8s-example project: k8s-example # 4. 资源规范字段 spec: ports: - port: 6379 targetPort: 6379 selector: app: redis spec: # Specification for the Pod
# 执行命令 kubectl create -f gerapy-ns.yaml
apiVersion: apps/v1 #与k8s集群版本有关,使用 kubectl api-versions 即可查看当前集群支持的版本 kind: Deployment #该配置的类型,我们使用的是 Deployment metadata: #译名为元数据,即 Deployment 的一些基本属性和信息 name: nginx-deployment #Deployment 的名称 labels: #标签,可以灵活定位一个或多个资源,其中key和value均可自定义,可以定义多组,目前不需要理解 app: nginx #为该Deployment设置key为app,value为nginx的标签 spec: #这是关于该Deployment的描述,可以理解为你期待该Deployment在k8s中如何使用 replicas: 1 #使用该Deployment创建一个应用程序实例 selector: #标签选择器,与上面的标签共同作用,目前不需要理解 matchLabels: #选择包含标签app:nginx的资源 app: nginx template: #这是选择或创建的Pod的模板 metadata: #Pod的元数据 labels: #Pod的标签,上面的selector即选择包含标签app:nginx的Pod app: nginx spec: #期望Pod实现的功能(即在pod中部署) containers: #生成container,与docker中的container是同一种 - name: nginx #container的名称 image: nginx:1.7.9 #使用镜像nginx:1.7.9创建container,该container默认80端口可访问
2. 查看集群信息
kubectl cluster-info kubectl delete namespace NAMESPACENAME --force --grace-period=0
3. 国内拉取不了官方镜像的问题
通常,gcr.io官方镜像的命名规则为:
gcr.io/google_containers/IMAGE_NAME
:IMAGE_TAG
比如:
gcr.io/google_containers/kube-apiserver-amd64:v1.10.3
docker pull docker tag registry.cn-shenzhen.aliyuncs.com/cookcodeblog/kube-apiserver-amd64:v1.10.3 k8s.gcr.io/kube-apiserver-amd64:v1.10.3
root@master:~# kubectl get svc --all-namespaces NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 17h kube-system kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 17h kube-system kuboard NodePort 10.108.60.69 <none> 80:32567/TCP 17h kube-system metrics-server ClusterIP 10.103.142.95 <none> 443/TCP 16h kubeflow ambassador LoadBalancer 10.97.219.110 <pending> 80:32415/TCP 16h kubeflow ambassador-admin ClusterIP 10.103.196.248 <none> 8877/TCP 16h kubeflow centraldashboard ClusterIP 10.96.93.32 <none> 80/TCP 16h kubeflow k8s-dashboard ClusterIP 10.102.24.254 <none> 443/TCP 16h kubeflow tf-hub-0 ClusterIP None <none> 8000/TCP 16h kubeflow tf-hub-lb LoadBalancer 10.100.90.243 <pending> 80:32582/TCP 16h kubeflow tf-job-dashboard LoadBalancer 10.101.124.243 <pending> 80:30887/TCP 16h
4. 参考资料
kubernetes---CentOS7安装kubernetes1.11.2图文完整版
-
kubeadm 安装 https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ ↩
-
[官方]网络插件:https://kubernetes.io/zh/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/ ↩
-
《Kubernetes 指南》开源电子书:https://kubernetes.feisky.xyz/bu-shu-pei-zhi/cluster/kubeadm ↩